var express = require('express');
var formidable = require('formidable')
var path=require('path')
var fs=require('fs')
const jwtUtil = require('../public/utils/jwt')



var router = express.Router();

var files = require('../controller/files')
    //users
    // router.get('/userList', usersController.userList);

router.post('/uploadPic', files.uploadPic);
router.get('/delFile', files.delFile);
router.post('/uploadFile',(req,res,next)=>{
  let form=new formidable.IncomingForm()
  let jwt = new jwtUtil()

  form.encoding = 'utf-8' // 编码
  form.keepExtensions  = false // 保留扩展名
  form.maxFieldsSize = 5 * 1024 * 1024;
form.uploadDir = path.join(__dirname, '../public/images/') //文件存储路径 最后要注意加 '/' 否则会被存在public下

form.parse(req, (err, fields, files) => {
      if(err) return next(err)
  let user = jwt.verifyToken(fields.token)
      console.log(user) //Object 表单数据
      // console.log(files) //上传文件用files.<name>访问
      let oldPath = files.file.filepath //获取文件路径 ~/public/images/<随机生成的文件名>.<扩展名>
      let imgname = Date.now()+files.file.originalFilename //前台上传时的文件名 也就是文件原本的名字
      // let userImgname = imgname.replace(/[^.]+/, username) //把扩展名前的文件名给替换掉
      //我这里为了方便存储 统一将文件名改为 <用户名>.jpg
      
      let newPath = path.join(path.dirname(oldPath), imgname) 
      fs.rename(oldPath, newPath, (err) => {
        if(err) return next(err)
           res.json({ code: 20000, message: 'upload success',data:imgname })
      })
    })


});



// router.post('/register', usersController.register);
// router.get('/get', usersController.get);

/* GET home page. */
// router.get('/', function(req, res, next) {
//     res.render('index', { title: 'Express' });
// });

module.exports = router;